# 编译器设置
CC_ARM = arm-linux-gcc  # 交叉编译器，用于编译在开发板上运行的主程序
CC_HOST = gcc           # 主机编译器，用于编译在主机上运行的服务器程序

# 编译选项
CFLAGS_ARM = -Wall -g -I/usr/arm-linux-gnueabi/include
CFLAGS_HOST = -Wall -g
LDFLAGS = -lm

# 目标文件
TARGET_MAIN = main
TARGET_SERVER = server

# 源文件
SOURCES_MAIN = main.c taiji.c slide.c sheet.c local.c network.c
SOURCES_SERVER = server.c

# 头文件目录
INCLUDE = -I.

# 目标依赖
all: $(TARGET_MAIN) $(TARGET_SERVER)

# 编译主程序（开发板运行）
$(TARGET_MAIN): $(SOURCES_MAIN)
	$(CC_ARM) $(CFLAGS_ARM) $(INCLUDE) -o $@ $^ $(LDFLAGS)

# 编译服务器程序（主机运行）
$(TARGET_SERVER): $(SOURCES_SERVER)
	$(CC_HOST) $(CFLAGS_HOST) $(INCLUDE) -o $@ $^ $(LDFLAGS)

# 清理
clean:
	rm -f $(TARGET_MAIN) $(TARGET_SERVER) *.o

# 运行主程序
run: $(TARGET_MAIN)
	./$(TARGET_MAIN)

# 运行服务器
runserver: $(TARGET_SERVER)
	./$(TARGET_SERVER)